Hi,
I want to create a function (PL/pgSQL), which return multiple rows. But it
fails -- when Creating the function, I get a notice:
NOTICE: ProcedureCreate: return type 'records' is only a shell
When executing it, this error:
ERROR: fmgr_info: function 0: cache lookup failed
How should I do this?
The function is simple:
CREATE FUNCTION foo (timestamp) RETURNS SETOF records AS ' BEGIN RETURN SELECT * FROM table;
END; ' LANGUAGE 'plpgsql';
or, in more detail the exact function:
CREATE FUNCTION get_emotions (timestamp) RETURNS SETOF records AS ' DECLARE start ALIAS FOR
$1; end_id int4; BEGIN SELECT emotion_id FROM emotions WHERE date
<=start LIMIT 1 INTO end_id; RETURN SELECT
emotion_id,emotion1, [...] FROM emotions WHERE emotion_id BETWEEN end_id-3000 AND
end_id ORDER BY date_epoch + full_rating*(3600*12) LIMIT 300; END; '
LANGUAGE'plpgsql';
Thanx for any help!
Ciao Alvar
--
| AGI ............................................................... |
| Magirusstrasse 21B, 70469 Stuttgart . Fon +49 (0)711.228 74-50 .... |
| http://www.agi.com/diary/ (english) . http://www.agi.de/tagebuch/ . |
| >>>>>> NEWS >>> AGI holt Bronze-Loewen in Cannes! <<<<<<<<<<<<<<<<< |